﻿// onwer 蒋家伟

#pragma once
#include "IArgs.h"
#include "TaskId.h"

namespace jsdk
{
    enum class TaskEventType : int32_t
    {
        Undefined = 0,                // 未定义
        DelayTaskTrigger = 1,         // 延迟任务触发
        TaskNotified     = 2,         // 任务已被通知
        TaskNotifiedFail = 3          // 任务通知失败
    };

    class TaskEventArgs : public IArgs
    {
    public:
        TaskEventType getEventType() const { return m_eventType; };
        const TaskId& getTaskId() const { return m_taskId; };
        TaskEventArgs(const TaskEventType& eventType, const TaskId& taskId) : m_taskId(taskId), m_eventType(eventType) {}
    private:
        TaskEventType m_eventType;
        TaskId m_taskId;
    };
}